namespace ScrumSprintMonitor.Implementation
{
	#region #using Directives

	using System;

	using Infrastructure;

	#endregion

	public class SprintBacklogCountSnapshot : ISprintBacklogCountSnapshot
	{
		public SprintBacklogCountSnapshot(DateTime date, int workItemsCompletedCount, int workItemsOutstandingCount)
		{
			this.date = date;
			this.workItemsOutstandingCount = workItemsOutstandingCount;
			this.workItemsCompletedCount = workItemsCompletedCount;
		}

		#region Implementation of ISprintBacklogCountSnapshot

		private readonly DateTime date;
		private readonly int workItemsCompletedCount;
		private readonly int workItemsOutstandingCount;

		public DateTime Date
		{
			get { return this.date; }
		}

		public int WorkItemsCompletedCount
		{
			get { return this.workItemsCompletedCount; }
		}

		public int WorkItemsOutstandingCount
		{
			get { return this.workItemsOutstandingCount; }
		}

		#endregion
	}
}